# 第一张：4,5,6
# 4.字典d={'k':1,'v':2},请写出d.items()结果
# dict_items([('k', 1), ('v', 2)])
d = {'k': 1, 'v': 2}
print('请写出d.items()结果：', end='')
print(d.items())

# 5.将复杂列表按k倒叙排序
li = [{'k': 1, 'v': 2}, {'k': 12, 'v': 22}, {'k': 13, 'v': 33}]
# a = li[::-1]
# print(a)
li.sort(key=lambda x: x['k'], reverse=True)
print(li)
li.reverse()
print(li)
'''
def my_fun(x) :
    return x['k']
my_fun(li)
'''

# 6.两个集合的交集/并集/对称工差/对称差集
a = {1, 2, 3, 4, 5}
b = {3, 4, 5, 78, 9}
# 交集
ret = a & b
print(ret)
# 并集
ret1 = a | b
print(ret1)
# 对称公差
ret2 = a ^ b
print(ret2)
print(a.symmetric_difference(b))  # 对称工差
# 对称差集
ret3 = a - b
print(ret3)

# --------------------------------------------------第一张---------------
# 4. python2.x和python3.x默认的编码格式分别是什么？
# python2.x 使用ASCII编码格式
# python3.x 使用UAF-8编码格式

# 5. 将hello_new_world 按—符号进行分割
str = 'hello_new_world'
print(str.split('_'))  # 使用split()分割方法，返回的数据类型是列表
print(type(str.split('_')))  # 打印分割后的数据类型：list

# 6. 将数字1以0001的格式输出
i = 1
print('将数字1以0001的格式输出,结果为:%04d' % i)  # 使用%
str = '1'
print('将数字1以0001的格式输出,结果为:' + str.rjust(4, '0'))  # 使用rjust方法,从右往左用0进行填充

# --------------------------------------第二张--------------------------
# 1、字典a={1:1},是否正确?
# a = {1: 1}
# print(a)
# 正确

# 2、请合并列表a=[1,2,3,4,4]和列表b=[5,6,7,8]
# a = [1, 2, 3, 4, 4]
# b = [5, 6, 7, 8]
# c = a + b
# print('打印列表a=[1,2,3,4]和列表b=[5,6,7,8]合并后的值:', end=' ')

# # 3、列表a,请写出实现正序排列,倒序排列,逆序排列的内置方法。
# a = ['a', 'b', 'c', 'd', 'e', 'p', 'a', 'c']
# 正序排序
# a.sort()
# print(a)
# 倒叙排序
# a.sort(reverse=True)
# print(a)
# print(a.sort(reverse=True))

# 4、字典d={“k”:1,“v:2},请写出 d.items结果。
# d = {'k':1, 'v': 2}
# print(d.items())  #dict_items([('k', 1), ('v', 2)])



# 6、集合s=set[(1,2,3,4)],d=set[(2,4,9,0,3)],请用内置方法写出他们的并集,交集,对称差
# s = set([1, 2, 3, 4])
# d = set([2, 4, 9, 0, 3])
# print(s & d)  # 交集
# print(s | d)  # 并集
# print(s - d)  # 差集


# 7、如何把列表a=[“a”,“b”]里的各项,转为字符串并用逗号,连接。
# a = ['a', 'b']
# set1 = set(a)
# print(str(set1))


# 8.  一行代码输出1-100和
# result = 0
# for i in range(1, 101):
#     result = result + i
#     print(i)
#     i += 1
# print
# print(sum(range(1, 101)))

# # 请随机输出大于0小于1的数;请随机输出一个100以内的整形。
# # 随机输出大于0小于1的数
# import random
# print(random.random())  #函数会生成一个随机的浮点数，范围是在0.0~1.0之间
# # 随机输出一个100以内的整形
# print(random.randint(0, 100))


# ----------------------------------第三张----------------------------------
# 1. 判断下列描述是否正确,如果有错误,请指出错误的地方并改正
# ①字典:具有键值映射关系,无序,字典的键不能重复并且可以是任意数据类型。
#  错误，字典的键是唯一的，只能是不可变数据类型
# ②元组:不能修改,无序,不能索引切片,当元组中只有一个元素时,需要在元素的后面加逗号。
# 错误，元组是有序的，有下标
# ③列表:元素可以重复,有序,不可以反向索引,元素可以是任意类型。
# 错误，列表可以反向索引
# ④集合:元素不可以重复,可以索引,a={}声明了一个空集合。
# 错误，元素可以重复，没有下标不能索引 a = {} 是空字典 ，空集合是 a = set()


# 3. 用random.random()方法输出[25,60)之间的浮点数
# import random
# print(random.uniform(25, 60))  #random.uniform(a, b)： 函数随机生成一个处于范围[a,b]的浮点数

# --------------------------------第四张------------------------------------------
# 2.一个list对象a=[1,2,4,3,2.2.4],需要去掉里面的重复值
# a = [1, 2, 4, 3, 2, 2, 4]
# list_new = list(a)
# print(set(list_new))
